﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Model
{
    /// <summary>
    /// 订单实体
    /// </summary>
    public class OrderBase
    {
        #region 内部字段
        private string orderid = "{00000000-0000-0000-0000-000000000000}";
        private string userid = "{00000000-0000-0000-0000-000000000000}";
        private string shippingaddressid = "{00000000-0000-0000-0000-000000000000}";
        private DateTime orderdate;
        private string ordernumber;
        private string shipaddress;
        private string shipcounties;
        private string shipcity;
        private string shipstate;
        private string shipcountry;
        private string shipzip;
        private string shiptel;
        private string shipmobile;
        private string shiptoname;
        private string paymenttype;
        private int paymenttypeid = 0;
        private bool needinvoice;
        private string invoicetype;
        private string invoicetitle;
        private decimal totalprice;
        private string locale;
        private int statuscode;
        private string comment;
        private DateTime createdon;
        private string createdby;
        private DateTime modifyon;
        private string modifyby;
        private decimal shippingcost;
        private string shippingmethod;
        private int shippingmethodtype;
        private int cancelReasonCode = 0;
        private string cancelReason = "";
        private OrderItems[] orderitems;
        private PaymentTypeBase paymentTypeInfo = null;
        private int ordertypecode = 1;
        private string regardingobjectid = "{00000000-0000-0000-0000-000000000000}";
        #endregion

        public OrderBase()
        { }

        #region 公共属性
        /// <summary>
        /// 
        /// </summary>
        public OrderItems[] OrderItems
        {
            set { orderitems = value; }
            get { return orderitems; }
        }
        /// <summary>
        /// 
        /// </summary>
        public PaymentTypeBase PaymentTypeInfo
        {
            set { paymentTypeInfo = value; }
            get { return paymentTypeInfo; }
        }
        /// <summary>
        /// 
        /// </summary>
        public string OrderId
        {
            set { orderid = value; }
            get { return orderid; }
        }
        /// <summary>
        /// 
        /// </summary>
        public string UserId
        {
            set { userid = value; }
            get { return userid; }
        }
        /// <summary>
        /// ID
        /// </summary>
        public string ShippingAddressId
        {
            set { shippingaddressid = value; }
            get { return shippingaddressid; }
        }
        /// <summary>
        /// 订购时间
        /// </summary>
        public DateTime OrderDate
        {
            set { orderdate = value; }
            get { return orderdate; }
        }
        /// <summary>
        /// 订单编号
        /// </summary>
        public string OrderNumber
        {
            set { ordernumber = value; }
            get { return ordernumber; }
        }
        /// <summary>
        /// 送货地址
        /// </summary>
        public string ShipAddress
        {
            set { shipaddress = value; }
            get { return shipaddress; }
        }
        /// <summary>
        /// 区县
        /// </summary>
        public string ShipCounties
        {
            set { shipcounties = value; }
            get { return shipcounties; }
        }
        /// <summary>
        /// 地市
        /// </summary>
        public string ShipCity
        {
            set { shipcity = value; }
            get { return shipcity; }
        }
        /// <summary>
        /// 省份
        /// </summary>
        public string ShipState
        {
            set { shipstate = value; }
            get { return shipstate; }
        }
        /// <summary>
        /// 国家
        /// </summary>
        public string ShipCountry
        {
            set { shipcountry = value; }
            get { return shipcountry; }
        }
        /// <summary>
        /// 邮编
        /// </summary>
        public string ShipZip
        {
            set { shipzip = value; }
            get { return shipzip; }
        }
        /// <summary>
        /// 电话
        /// </summary>
        public string ShipTel
        {
            set { shiptel = value; }
            get { return shiptel; }
        }
        /// <summary>
        /// 手机号码
        /// </summary>
        public string ShipMobile
        {
            set { shipmobile = value; }
            get { return shipmobile; }
        }
        /// <summary>
        /// 收货人姓名
        /// </summary>
        public string ShipToName
        {
            set { shiptoname = value; }
            get { return shiptoname; }
        }
        /// <summary>
        /// 支付方式
        /// </summary>
        public string PaymentType
        {
            set { paymenttype = value; }
            get { return paymenttype; }
        }
        /// <summary>
        /// 支付方式ID
        /// </summary>
        public int PaymentTypeId
        {
            set { paymenttypeid = value; }
            get { return paymenttypeid; }
        }
        /// <summary>
        /// 是否需要发票
        /// </summary>
        public bool NeedInvoice
        {
            set { needinvoice = value; }
            get { return needinvoice; }
        }
        /// <summary>
        /// 发票类型
        /// </summary>
        public string InvoiceType
        {
            set { invoicetype = value; }
            get { return invoicetype; }
        }
        /// <summary>
        /// 发票抬头
        /// </summary>
        public string InvoiceTitle
        {
            set { invoicetitle = value; }
            get { return invoicetitle; }
        }
        /// <summary>
        /// 合计金额
        /// </summary>
        public decimal TotalPrice
        {
            set { totalprice = value; }
            get { return totalprice; }
        }
        /// <summary>
        /// 语言
        /// </summary>
        public string Locale
        {
            set { locale = value; }
            get { return locale; }
        }
        /// <summary>
        /// 订单状态, 0 已提交, 1 已付款, -1 已作废
        /// </summary>
        public int StatusCode
        {
            set { statuscode = value; }
            get { return statuscode; }
        }
        /// <summary>
        /// 订单备注信息
        /// </summary>
        public string Comment
        {
            set { comment = value; }
            get { return comment; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime CreatedOn
        {
            set { createdon = value; }
            get { return createdon; }
        }
        /// <summary>
        /// 
        /// </summary>
        public string CreatedBy
        {
            set { createdby = value; }
            get { return createdby; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime ModifyOn
        {
            set { modifyon = value; }
            get { return modifyon; }
        }
        /// <summary>
        /// 
        /// </summary>
        public string ModifyBy
        {
            set { modifyby = value; }
            get { return modifyby; }
        }
        /// <summary>
        /// 运费
        /// </summary>
        public decimal ShippingCost
        {
            set { shippingcost = value; }
            get { return shippingcost; }
        }
        /// <summary>
        /// 运输方式
        /// </summary>
        public string ShippingMethod
        {
            set { shippingmethod = value; }
            get { return shippingmethod; }
        }
        /// <summary>
        /// 运输方式类型，1 快递 /  2 EMS /  3 平邮
        /// </summary>
        public int ShippingMethodType
        {
            set { shippingmethodtype = value; }
            get { return shippingmethodtype; }
        }
        /// <summary>
        /// 作废原因代码
        /// </summary>
        public int CancelReasonCode
        {
            set { cancelReasonCode = value; }
            get { return cancelReasonCode; }
        }
        /// <summary>
        /// 作废原因
        /// </summary>
        public string CancelReason
        {
            set { cancelReason = value; }
            get { return cancelReason; }
        }
        /// <summary>
        /// 订单类型，1 零售订单，2 团购订单
        /// </summary>
        public int OrderTypeCode
        {
            set { ordertypecode = value; }
            get { return ordertypecode; }
        }
        /// <summary>
        /// 关联对象ID，如：关联团购活动ID
        /// </summary>
        public string RegardingObjectId
        {
            set { regardingobjectid = value; }
            get { return regardingobjectid; }
        }
        #endregion
    }
}
